import { Tag } from '../entities/tag.type';

/**
 * [API] 获取分组标签
 */
export class ApiTagGetDto {
  /**
   * 分组类型
   */
  type: string;

  /**
   * 搜索关键词
   */
  keywords?: string;

  /**
   * 父级分组ID
   */
  parentId?: string;
}

/**
 * [API] 获取分组标签
 */
export class ApiTagGetResult {
  list: Array<Tag & { num?: number; child_num?: number }>;
  tree: ApiTagGetResultItem[];
}

export class ApiTagGetResultItem extends Tag {
  /**
   * 分组使用数
   */
  num?: number;
  /**
   * 下级子分组数（不包括第三级）
   */
  child_num?: number;
  /**
   * 层级
   */
  zIndex?: number;
  children?: ApiTagGetResultItem[];
}
